package com.quanyan.assets.task;

import com.github.ltsopensource.core.domain.Job;
import com.github.ltsopensource.jobclient.JobClient;
import com.github.ltsopensource.jobclient.domain.Response;
import com.quanyan.assets.scheduler.AssetsTask;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * @author xian-guo
 */
public class TimerTaskJob {

    @Autowired
    private JobClient jobClient;

    public void executeTask(){
        //订单关闭
        Job couponExpired = new Job();
        couponExpired.setTaskId("task_assets_coupon_expired");//每个任务必须指定唯一
        couponExpired.setParam("type",AssetsTask.COUPON_EXPIRED);//执行多个任务，传递参数
        couponExpired.setTaskTrackerNodeGroup(AssetsTask.ASSETS_GROUP);//每个模块指定不同的名称，但同一个模块不同任务必须相同
        couponExpired.setNeedFeedback(true);
        couponExpired.setReplaceOnExist(true);        // 当任务队列中存在这个任务的时候，是否替换更新
        couponExpired.setRepeatCount(-1);             // 无限循环
        couponExpired.setRepeatInterval(5 * 1000L);  //5s执行一次
        //job.setCronExpression("0 0 0 * * ?");
        Response response = jobClient.submitJob(couponExpired);

        //订单关闭
        Job eggsPhoneNickName = new Job();
        eggsPhoneNickName.setTaskId("task_assets_eggs_phone_nickName");//每个任务必须指定唯一
        eggsPhoneNickName.setParam("type",AssetsTask.EGGS_PHONE_NICKNAME);//执行多个任务，传递参数
        eggsPhoneNickName.setTaskTrackerNodeGroup(AssetsTask.ASSETS_GROUP);//每个模块指定不同的名称，但同一个模块不同任务必须相同
        eggsPhoneNickName.setNeedFeedback(true);
        eggsPhoneNickName.setReplaceOnExist(true);        // 当任务队列中存在这个任务的时候，是否替换更新
        eggsPhoneNickName.setRepeatCount(-1);             // 无限循环
        eggsPhoneNickName.setRepeatInterval(5 * 1000L);  //5s执行一次
        //job.setCronExpression("0 0 0 * * ?");
        jobClient.submitJob(eggsPhoneNickName);

    }

}
